% DFS
MKL_0_24 = [ 16000 3000 3000 0 765.59 ;  16500 3000 3000 0 860.723 ;  17000 3000 3000 0 783.112 ;  17500 3000 3000 0 810.997 ;  18000 3000 3000 0 826.292 ;  18500 3000 3000 0 823.251 ;  19000 3000 3000 0 868.187 ;  19500 3000 3000 0 883.685 ;  20000 3000 3000 0 900.83 ;  20500 3000 3000 0 942.86 ;  21000 3000 3000 0 949.908 ;  21500 3000 3000 0 956.281 ;  22000 3000 3000 0 990.649 ;  22500 3000 3000 0 1031.41 ;  23000 3000 3000 0 1049.4 ;  23500 3000 3000 0 1023.35 ;  24000 3000 3000 0 1107.23 ;  24500 3000 3000 0 1236.89 ;  25000 3000 3000 0 1047.32 ;  25500 3000 3000 0 1167.31 ;  26000 3000 3000 0 1211.68 ; ];

FAST424_26_257_1_DFS24 = [ 16000 3000 3000 1 1106.16 ;  16500 3000 3000 1 992.899 ;  17000 3000 3000 1 1003.89 ;  17500 3000 3000 1 1091.81 ;  18000 3000 3000 1 1103.74 ;  18500 3000 3000 1 1075.65 ;  19000 3000 3000 1 1161.02 ;  19500 3000 3000 1 1192.36 ;  20000 3000 3000 1 1203.04 ;  20500 3000 3000 1 1244.68 ;  21000 3000 3000 1 1193.5 ;  21500 3000 3000 1 1297.75 ;  22000 3000 3000 1 1301.3 ;  22500 3000 3000 1 1335.61 ;  23000 3000 3000 1 1380.78 ;  23500 3000 3000 1 1315.92 ;  24000 3000 3000 1 1330.45 ;  24500 3000 3000 1 1404.63 ;  25000 3000 3000 1 1396.1 ;  25500 3000 3000 1 1494.64 ;  26000 3000 3000 1 1444.21 ; ];
FAST424_26_257_2_DFS24 = [ 16000 3000 3000 2 2076.45 ;  16500 3000 3000 2 2019.9 ;  17000 3000 3000 2 2012.25 ;  17500 3000 3000 2 2199.62 ;  18000 3000 3000 2 2184.17 ;  18500 3000 3000 2 2129.49 ;  19000 3000 3000 2 2321.31 ;  19500 3000 3000 2 2278.19 ;  20000 3000 3000 2 2321.15 ;  20500 3000 3000 2 2415.13 ;  21000 3000 3000 2 2434.26 ;  21500 3000 3000 2 2589.37 ;  22000 3000 3000 2 2545.57 ;  22500 3000 3000 2 2529.93 ;  23000 3000 3000 2 2711.71 ;  23500 3000 3000 2 2675.51 ;  24000 3000 3000 2 2682.66 ;  24500 3000 3000 2 2993.5 ;  25000 3000 3000 2 2819.07 ;  25500 3000 3000 2 2820.44 ;  26000 3000 3000 2 2949.41 ; ];

FAST433_29_234_1_DFS24 = [ 16000 3000 3000 1 1007.6 ;  16500 3000 3000 1 863.171 ;  17000 3000 3000 1 857.149 ;  17500 3000 3000 1 890.572 ;  18000 3000 3000 1 900.475 ;  18500 3000 3000 1 909.447 ;  19000 3000 3000 1 1077.18 ;  19500 3000 3000 1 1055.11 ;  20000 3000 3000 1 989.567 ;  20500 3000 3000 1 1026.17 ;  21000 3000 3000 1 1025.54 ;  21500 3000 3000 1 1111.38 ;  22000 3000 3000 1 1101.83 ;  22500 3000 3000 1 1109.36 ;  23000 3000 3000 1 1241.37 ;  23500 3000 3000 1 1169.91 ;  24000 3000 3000 1 1157.19 ;  24500 3000 3000 1 1223.82 ;  25000 3000 3000 1 1238.95 ;  25500 3000 3000 1 1333.86 ;  26000 3000 3000 1 1319.28 ; ];
FAST433_29_234_2_DFS24 = [ 16000 3000 3000 2 1923.16 ;  16500 3000 3000 2 1473.3 ;  17000 3000 3000 2 1569.85 ;  17500 3000 3000 2 1562.3 ;  18000 3000 3000 2 1534.4 ;  18500 3000 3000 2 1488.95 ;  19000 3000 3000 2 1672.45 ;  19500 3000 3000 2 1589.46 ;  20000 3000 3000 2 1550.77 ;  20500 3000 3000 2 1718.06 ;  21000 3000 3000 2 1686.01 ;  21500 3000 3000 2 1804.86 ;  22000 3000 3000 2 1777.44 ;  22500 3000 3000 2 1789.9 ;  23000 3000 3000 2 1873.52 ;  23500 3000 3000 2 1843.12 ;  24000 3000 3000 2 1845.55 ;  24500 3000 3000 2 2004.01 ;  25000 3000 3000 2 1955.23 ;  25500 3000 3000 2 1995.42 ;  26000 3000 3000 2 2017.76 ; ];

FAST323_15_103_1_DFS24 = [ 16000 3000 3000 1 862.498 ;  16500 3000 3000 1 937.27 ;  17000 3000 3000 1 1010.16 ;  17500 3000 3000 1 983.65 ;  18000 3000 3000 1 946.527 ;  18500 3000 3000 1 1089.22 ;  19000 3000 3000 1 1060.47 ;  19500 3000 3000 1 1000.33 ;  20000 3000 3000 1 1020.26 ;  20500 3000 3000 1 1047.49 ;  21000 3000 3000 1 1084.83 ;  21500 3000 3000 1 1165.52 ;  22000 3000 3000 1 1199.56 ;  22500 3000 3000 1 1142.22 ;  23000 3000 3000 1 1227.76 ;  23500 3000 3000 1 1190.92 ;  24000 3000 3000 1 1289.46 ;  24500 3000 3000 1 1301.48 ;  25000 3000 3000 1 1332.72 ;  25500 3000 3000 1 1269.74 ;  26000 3000 3000 1 1306.25 ; ];
FAST323_15_103_2_DFS24 = [ 16000 3000 3000 2 1250.89 ;  16500 3000 3000 2 1337.02 ;  17000 3000 3000 2 1346.29 ;  17500 3000 3000 2 1451.96 ;  18000 3000 3000 2 1481.66 ;  18500 3000 3000 2 1519.82 ;  19000 3000 3000 2 1576.92 ;  19500 3000 3000 2 1543.48 ;  20000 3000 3000 2 1411.57 ;  20500 3000 3000 2 1453.62 ;  21000 3000 3000 2 1489.09 ;  21500 3000 3000 2 1523.65 ;  22000 3000 3000 2 1549.19 ;  22500 3000 3000 2 1559.85 ;  23000 3000 3000 2 1608.15 ;  23500 3000 3000 2 1725.4 ;  24000 3000 3000 2 1682.13 ;  24500 3000 3000 2 1735.15 ;  25000 3000 3000 2 1795.92 ;  25500 3000 3000 2 1844.58 ;  26000 3000 3000 2 1806.43 ; ];

FAST522_18_99_1_DFS24 = [ 16000 3000 3000 1 999.48 ;  16500 3000 3000 1 962.765 ;  17000 3000 3000 1 919.781 ;  17500 3000 3000 1 957.531 ;  18000 3000 3000 1 949.876 ;  18500 3000 3000 1 1037.4 ;  19000 3000 3000 1 1063.2 ;  19500 3000 3000 1 1036.32 ;  20000 3000 3000 1 1178.59 ;  20500 3000 3000 1 1112.3 ;  21000 3000 3000 1 1143 ;  21500 3000 3000 1 1118.53 ;  22000 3000 3000 1 1126.37 ;  22500 3000 3000 1 1177.4 ;  23000 3000 3000 1 1321.79 ;  23500 3000 3000 1 1230.08 ;  24000 3000 3000 1 1341.09 ;  24500 3000 3000 1 1250.64 ;  25000 3000 3000 1 1268.32 ;  25500 3000 3000 1 1257.34 ;  26000 3000 3000 1 1313.05 ; ];
FAST522_18_99_2_DFS24 = [ 16000 3000 3000 2 1196.31 ;  16500 3000 3000 2 1231.84 ;  17000 3000 3000 2 1221.3 ;  17500 3000 3000 2 1301.05 ;  18000 3000 3000 2 1288.47 ;  18500 3000 3000 2 1294.03 ;  19000 3000 3000 2 1354.54 ;  19500 3000 3000 2 1345.58 ;  20000 3000 3000 2 1346.61 ;  20500 3000 3000 2 1500.78 ;  21000 3000 3000 2 1461.28 ;  21500 3000 3000 2 1498.89 ;  22000 3000 3000 2 1449.19 ;  22500 3000 3000 2 1515.01 ;  23000 3000 3000 2 1602.39 ;  23500 3000 3000 2 1548.31 ;  24000 3000 3000 2 1552.86 ;  24500 3000 3000 2 1672.71 ;  25000 3000 3000 2 1847.63 ;  25500 3000 3000 2 1742.41 ;  26000 3000 3000 2 1885.85 ; ];

FAST423_20_144_1_DFS24 = [ 16000 3000 3000 1 986.549 ;  16500 3000 3000 1 959.933 ;  17000 3000 3000 1 917.758 ;  17500 3000 3000 1 952.97 ;  18000 3000 3000 1 961.894 ;  18500 3000 3000 1 1035.45 ;  19000 3000 3000 1 1022.05 ;  19500 3000 3000 1 1090.25 ;  20000 3000 3000 1 1045.19 ;  20500 3000 3000 1 1085.29 ;  21000 3000 3000 1 1143.53 ;  21500 3000 3000 1 1187.48 ;  22000 3000 3000 1 1140.6 ;  22500 3000 3000 1 1111.62 ;  23000 3000 3000 1 1192.79 ;  23500 3000 3000 1 1261.65 ;  24000 3000 3000 1 1279.42 ;  24500 3000 3000 1 1269.07 ;  25000 3000 3000 1 1327.3 ;  25500 3000 3000 1 1313.9 ;  26000 3000 3000 1 1298.48 ; ];
FAST423_20_144_2_DFS24 = [ 16000 3000 3000 2 1566.78 ;  16500 3000 3000 2 1562.27 ;  17000 3000 3000 2 1570.14 ;  17500 3000 3000 2 1640.35 ;  18000 3000 3000 2 1651.21 ;  18500 3000 3000 2 1615.11 ;  19000 3000 3000 2 1691.36 ;  19500 3000 3000 2 1642.3 ;  20000 3000 3000 2 1664.38 ;  20500 3000 3000 2 1784.89 ;  21000 3000 3000 2 1763.46 ;  21500 3000 3000 2 1893.07 ;  22000 3000 3000 2 1839.84 ;  22500 3000 3000 2 1881.48 ;  23000 3000 3000 2 1949.09 ;  23500 3000 3000 2 1943.82 ;  24000 3000 3000 2 1873.87 ;  24500 3000 3000 2 2052.4 ;  25000 3000 3000 2 1972.7 ;  25500 3000 3000 2 1996.08 ;  26000 3000 3000 2 2085.94 ; ];

STRASSEN_1_DFS24 = [ 16000 3000 3000 1 888.394 ;  16500 3000 3000 1 912.186 ;  17000 3000 3000 1 859.602 ;  17500 3000 3000 1 881.068 ;  18000 3000 3000 1 905.613 ;  18500 3000 3000 1 986.778 ;  19000 3000 3000 1 1017.44 ;  19500 3000 3000 1 1021.37 ;  20000 3000 3000 1 986.861 ;  20500 3000 3000 1 1069.73 ;  21000 3000 3000 1 1097.37 ;  21500 3000 3000 1 1116.11 ;  22000 3000 3000 1 1056.69 ;  22500 3000 3000 1 1081.36 ;  23000 3000 3000 1 1122.15 ;  23500 3000 3000 1 1134.88 ;  24000 3000 3000 1 1224.19 ;  24500 3000 3000 1 1290.16 ;  25000 3000 3000 1 1194.47 ;  25500 3000 3000 1 1286.89 ;  26000 3000 3000 1 1238.18 ; ];
STRASSEN_2_DFS24 = [ 16000 3000 3000 2 1022.68 ;  16500 3000 3000 2 1019.49 ;  17000 3000 3000 2 1073.26 ;  17500 3000 3000 2 1082.33 ;  18000 3000 3000 2 1057.51 ;  18500 3000 3000 2 1084.2 ;  19000 3000 3000 2 1106.99 ;  19500 3000 3000 2 1190.2 ;  20000 3000 3000 2 1215.49 ;  20500 3000 3000 2 1204.02 ;  21000 3000 3000 2 1313.42 ;  21500 3000 3000 2 1271.12 ;  22000 3000 3000 2 1287.46 ;  22500 3000 3000 2 1300.94 ;  23000 3000 3000 2 1337.98 ;  23500 3000 3000 2 1358.2 ;  24000 3000 3000 2 1419.74 ;  24500 3000 3000 2 1410 ;  25000 3000 3000 2 1433.73 ;  25500 3000 3000 2 1516.23 ;  26000 3000 3000 2 1478.92 ; ];

BINI322_1_DFS24 = [ 16000 3000 3000 1 859.524 ;  16500 3000 3000 1 818.462 ;  17000 3000 3000 1 787.814 ;  17500 3000 3000 1 832.225 ;  18000 3000 3000 1 872.384 ;  18500 3000 3000 1 901.032 ;  19000 3000 3000 1 990.875 ;  19500 3000 3000 1 927.523 ;  20000 3000 3000 1 1038.87 ;  20500 3000 3000 1 1033.28 ;  21000 3000 3000 1 985.653 ;  21500 3000 3000 1 1023.08 ;  22000 3000 3000 1 1033.78 ;  22500 3000 3000 1 1015.04 ;  23000 3000 3000 1 1057.72 ;  23500 3000 3000 1 1076.09 ;  24000 3000 3000 1 1108.99 ;  24500 3000 3000 1 1200.34 ;  25000 3000 3000 1 1133.54 ;  25500 3000 3000 1 1150.38 ;  26000 3000 3000 1 1175.69 ; ];
BINI322_2_DFS24 = [ 16000 3000 3000 2 929.594 ;  16500 3000 3000 2 947.73 ;  17000 3000 3000 2 970.802 ;  17500 3000 3000 2 1013.35 ;  18000 3000 3000 2 1038.15 ;  18500 3000 3000 2 1076.15 ;  19000 3000 3000 2 1114.65 ;  19500 3000 3000 2 1082.12 ;  20000 3000 3000 2 1110.88 ;  20500 3000 3000 2 1134.94 ;  21000 3000 3000 2 1185.52 ;  21500 3000 3000 2 1197.07 ;  22000 3000 3000 2 1240.32 ;  22500 3000 3000 2 1200.65 ;  23000 3000 3000 2 1258.18 ;  23500 3000 3000 2 1335.92 ;  24000 3000 3000 2 1305.39 ;  24500 3000 3000 2 1380.34 ;  25000 3000 3000 2 1367.56 ;  25500 3000 3000 2 1356.02 ;  26000 3000 3000 2 1368.86 ; ];

SCHONHAGE333_21_117_APPROX_1_DFS24 = [ 16000 3000 3000 1 1009.22 ;  16500 3000 3000 1 866.07 ;  17000 3000 3000 1 846.977 ;  17500 3000 3000 1 902.877 ;  18000 3000 3000 1 916.207 ;  18500 3000 3000 1 930.296 ;  19000 3000 3000 1 980.498 ;  19500 3000 3000 1 970.931 ;  20000 3000 3000 1 1001.7 ;  20500 3000 3000 1 1031.74 ;  21000 3000 3000 1 1057.98 ;  21500 3000 3000 1 1060.54 ;  22000 3000 3000 1 1095.04 ;  22500 3000 3000 1 1189.97 ;  23000 3000 3000 1 1139.32 ;  23500 3000 3000 1 1168.82 ;  24000 3000 3000 1 1182.46 ;  24500 3000 3000 1 1176.15 ;  25000 3000 3000 1 1242.48 ;  25500 3000 3000 1 1232.97 ;  26000 3000 3000 1 1259.25 ; ];
SCHONHAGE333_21_117_APPROX_2_DFS24 = [ 16000 3000 3000 2 1380.9 ;  16500 3000 3000 2 1418.33 ;  17000 3000 3000 2 1505.68 ;  17500 3000 3000 2 1549.66 ;  18000 3000 3000 2 1579.21 ;  18500 3000 3000 2 1614.98 ;  19000 3000 3000 2 1642.26 ;  19500 3000 3000 2 1648.63 ;  20000 3000 3000 2 1687.48 ;  20500 3000 3000 2 1715.06 ;  21000 3000 3000 2 1560.28 ;  21500 3000 3000 2 1591.54 ;  22000 3000 3000 2 1645.12 ;  22500 3000 3000 2 1639.02 ;  23000 3000 3000 2 1697.98 ;  23500 3000 3000 2 1777.77 ;  24000 3000 3000 2 1739.68 ;  24500 3000 3000 2 1801.88 ;  25000 3000 3000 2 1897.73 ;  25500 3000 3000 2 1890.09 ;  26000 3000 3000 2 1908.89 ; ];

SMIRNOV433_29_204_1_DFS24 = [ 16000 3000 3000 1 1196.17 ;  16500 3000 3000 1 1273.68 ;  17000 3000 3000 1 1281.7 ;  17500 3000 3000 1 1299.24 ;  18000 3000 3000 1 1367.76 ;  18500 3000 3000 1 1386.38 ;  19000 3000 3000 1 1448.89 ;  19500 3000 3000 1 1469.23 ;  20000 3000 3000 1 1483.26 ; ];
SMIRNOV433_29_204_2_DFS24 = [ 16000 3000 3000 2 2834.69 ;  16500 3000 3000 2 2822.45 ;  17000 3000 3000 2 2806.57 ;  17500 3000 3000 2 2869.93 ;  18000 3000 3000 2 2843.19 ;  18500 3000 3000 2 2233.74 ;  19000 3000 3000 2 2224.58 ;  19500 3000 3000 2 2163.22 ;  20000 3000 3000 2 2154.7 ; ];


% HYBRID
FAST424_26_257_1_HYBRID24 = [ 16000 3000 3000 1 787.007 ;  16500 3000 3000 1 790.973 ;  17000 3000 3000 1 800.768 ;  17500 3000 3000 1 841.204 ;  18000 3000 3000 1 838.612 ;  18500 3000 3000 1 876.386 ;  19000 3000 3000 1 905.112 ;  19500 3000 3000 1 911.16 ;  20000 3000 3000 1 958.273 ;  20500 3000 3000 1 966.326 ;  21000 3000 3000 1 996.13 ;  21500 3000 3000 1 1005.1 ;  22000 3000 3000 1 1021.34 ;  22500 3000 3000 1 1064.82 ;  23000 3000 3000 1 1085.2 ;  23500 3000 3000 1 1100.23 ;  24000 3000 3000 1 1123.49 ;  24500 3000 3000 1 1147.8 ;  25000 3000 3000 1 1169.6 ;  25500 3000 3000 1 1190.79 ;  26000 3000 3000 1 1212.22 ; ];
FAST424_26_257_2_HYBRID24 = [ 16000 3000 3000 2 1062.78 ;  16500 3000 3000 2 1114.27 ;  17000 3000 3000 2 1099.79 ;  17500 3000 3000 2 1197.81 ;  18000 3000 3000 2 1175.29 ;  18500 3000 3000 2 1281.73 ;  19000 3000 3000 2 1282.78 ;  19500 3000 3000 2 1257.41 ;  20000 3000 3000 2 1231.46 ;  20500 3000 3000 2 1297.51 ;  21000 3000 3000 2 1403.15 ;  21500 3000 3000 2 1438.78 ;  22000 3000 3000 2 1399.94 ;  22500 3000 3000 2 1518.36 ;  23000 3000 3000 2 1471.18 ;  23500 3000 3000 2 1542.09 ;  24000 3000 3000 2 1585.65 ;  24500 3000 3000 2 1646.61 ;  25000 3000 3000 2 1647.27 ;  25500 3000 3000 2 1628.95 ;  26000 3000 3000 2 1668.28 ; ];

FAST433_29_234_1_HYBRID24 = [ 16000 3000 3000 1 798.342 ;  16500 3000 3000 1 794.888 ;  17000 3000 3000 1 816.464 ;  17500 3000 3000 1 868.534 ;  18000 3000 3000 1 865.535 ;  18500 3000 3000 1 889.212 ;  19000 3000 3000 1 918.96 ;  19500 3000 3000 1 946.432 ;  20000 3000 3000 1 975.838 ;  20500 3000 3000 1 1008.66 ;  21000 3000 3000 1 1016.13 ;  21500 3000 3000 1 1040.19 ;  22000 3000 3000 1 1058.13 ;  22500 3000 3000 1 1091.22 ;  23000 3000 3000 1 1110.74 ;  23500 3000 3000 1 1134.95 ;  24000 3000 3000 1 1163.52 ;  24500 3000 3000 1 1194.75 ;  25000 3000 3000 1 1205.44 ;  25500 3000 3000 1 1230.46 ;  26000 3000 3000 1 1256.9 ; ];
FAST433_29_234_2_HYBRID24 = [ 16000 3000 3000 2 985.897 ;  16500 3000 3000 2 998.354 ;  17000 3000 3000 2 1056.63 ;  17500 3000 3000 2 1074.49 ;  18000 3000 3000 2 1101.42 ;  18500 3000 3000 2 1126.5 ;  19000 3000 3000 2 1181.6 ;  19500 3000 3000 2 1193.51 ;  20000 3000 3000 2 1195.31 ;  20500 3000 3000 2 1251.04 ;  21000 3000 3000 2 1320.19 ;  21500 3000 3000 2 1303.95 ;  22000 3000 3000 2 1326.4 ;  22500 3000 3000 2 1335.25 ;  23000 3000 3000 2 1438.62 ;  23500 3000 3000 2 1412.02 ;  24000 3000 3000 2 1429.69 ;  24500 3000 3000 2 1432 ;  25000 3000 3000 2 1506.21 ;  25500 3000 3000 2 1541.98 ;  26000 3000 3000 2 1522.59 ; ];

FAST323_15_103_1_HYBRID24 = [ 16000 3000 3000 1 1034.74 ;  16500 3000 3000 1 852.159 ;  17000 3000 3000 1 863.991 ;  17500 3000 3000 1 900.271 ;  18000 3000 3000 1 944.665 ;  18500 3000 3000 1 951.812 ;  19000 3000 3000 1 996.49 ;  19500 3000 3000 1 977.974 ;  20000 3000 3000 1 1107.76 ;  20500 3000 3000 1 1113.91 ;  21000 3000 3000 1 1058.02 ;  21500 3000 3000 1 1096.76 ;  22000 3000 3000 1 1114.28 ;  22500 3000 3000 1 1135.78 ;  23000 3000 3000 1 1164.13 ;  23500 3000 3000 1 1154.4 ;  24000 3000 3000 1 1226.52 ;  24500 3000 3000 1 1337.33 ;  25000 3000 3000 1 1283.19 ;  25500 3000 3000 1 1255.15 ;  26000 3000 3000 1 1300.47 ; ];
FAST323_15_103_2_HYBRID24 = [ 16000 3000 3000 2 976.814 ;  16500 3000 3000 2 983.212 ;  17000 3000 3000 2 1018.21 ;  17500 3000 3000 2 1053.08 ;  18000 3000 3000 2 1076.17 ;  18500 3000 3000 2 1103.66 ;  19000 3000 3000 2 1117.97 ;  19500 3000 3000 2 1120.81 ;  20000 3000 3000 2 1257.8 ;  20500 3000 3000 2 1199.19 ;  21000 3000 3000 2 1244.08 ;  21500 3000 3000 2 1330.83 ;  22000 3000 3000 2 1325.13 ;  22500 3000 3000 2 1309.91 ;  23000 3000 3000 2 1328.39 ;  23500 3000 3000 2 1350.27 ;  24000 3000 3000 2 1418.25 ;  24500 3000 3000 2 1428.92 ;  25000 3000 3000 2 1455.66 ;  25500 3000 3000 2 1425.67 ;  26000 3000 3000 2 1503.84 ; ];

FAST522_18_99_1_HYBRID24 = [ 16000 3000 3000 1 1003.54 ;  16500 3000 3000 1 965.788 ;  17000 3000 3000 1 945.578 ;  17500 3000 3000 1 1016.09 ;  18000 3000 3000 1 1022.04 ;  18500 3000 3000 1 1034.91 ;  19000 3000 3000 1 1070.36 ;  19500 3000 3000 1 1087.21 ;  20000 3000 3000 1 1093.1 ;  20500 3000 3000 1 1135.74 ;  21000 3000 3000 1 1177.2 ;  21500 3000 3000 1 1207.4 ;  22000 3000 3000 1 1270.8 ;  22500 3000 3000 1 1246.69 ;  23000 3000 3000 1 1328.25 ;  23500 3000 3000 1 1349.62 ;  24000 3000 3000 1 1298.9 ;  24500 3000 3000 1 1316.61 ;  25000 3000 3000 1 1265.92 ;  25500 3000 3000 1 1300.76 ;  26000 3000 3000 1 1394.93 ; ];
FAST522_18_99_2_HYBRID24 = [ 16000 3000 3000 2 1003.42 ;  16500 3000 3000 2 1048.99 ;  17000 3000 3000 2 1076.29 ;  17500 3000 3000 2 1090.23 ;  18000 3000 3000 2 1123.53 ;  18500 3000 3000 2 1126.72 ;  19000 3000 3000 2 1160.63 ;  19500 3000 3000 2 1269.38 ;  20000 3000 3000 2 1229.64 ;  20500 3000 3000 2 1313.12 ;  21000 3000 3000 2 1316.71 ;  21500 3000 3000 2 1353.36 ;  22000 3000 3000 2 1366.09 ;  22500 3000 3000 2 1415.47 ;  23000 3000 3000 2 1481.89 ;  23500 3000 3000 2 1433.21 ;  24000 3000 3000 2 1500.01 ;  24500 3000 3000 2 1536.38 ;  25000 3000 3000 2 1569.94 ;  25500 3000 3000 2 1567.65 ;  26000 3000 3000 2 1620.43 ; ];

FAST423_20_144_1_HYBRID24 = [ 16000 3000 3000 1 924.47 ;  16500 3000 3000 1 881.252 ;  17000 3000 3000 1 879.911 ;  17500 3000 3000 1 896.371 ;  18000 3000 3000 1 948.889 ;  18500 3000 3000 1 969.247 ;  19000 3000 3000 1 1009.25 ;  19500 3000 3000 1 1028.81 ;  20000 3000 3000 1 1091.12 ;  20500 3000 3000 1 1039.72 ;  21000 3000 3000 1 1081.24 ;  21500 3000 3000 1 1176.73 ;  22000 3000 3000 1 1187.22 ;  22500 3000 3000 1 1208.93 ;  23000 3000 3000 1 1189.02 ;  23500 3000 3000 1 1253.86 ;  24000 3000 3000 1 1327.21 ;  24500 3000 3000 1 1364.31 ;  25000 3000 3000 1 1374.05 ;  25500 3000 3000 1 1356.62 ;  26000 3000 3000 1 1261.1 ; ];
FAST423_20_144_2_HYBRID24 = [ 16000 3000 3000 2 999.648 ;  16500 3000 3000 2 1054.63 ;  17000 3000 3000 2 1140 ;  17500 3000 3000 2 1113.78 ;  18000 3000 3000 2 1124.57 ;  18500 3000 3000 2 1180.29 ;  19000 3000 3000 2 1219.49 ;  19500 3000 3000 2 1182.69 ;  20000 3000 3000 2 1180.13 ;  20500 3000 3000 2 1234.87 ;  21000 3000 3000 2 1255.93 ;  21500 3000 3000 2 1382.82 ;  22000 3000 3000 2 1377.19 ;  22500 3000 3000 2 1387.38 ;  23000 3000 3000 2 1387.48 ;  23500 3000 3000 2 1420.31 ;  24000 3000 3000 2 1412.87 ;  24500 3000 3000 2 1428.06 ;  25000 3000 3000 2 1497.06 ;  25500 3000 3000 2 1556.81 ;  26000 3000 3000 2 1524.21 ; ];

STRASSEN_1_HYBRID24 = [ 16000 3000 3000 1 845.314 ;  16500 3000 3000 1 868.324 ;  17000 3000 3000 1 926.027 ;  17500 3000 3000 1 956.326 ;  18000 3000 3000 1 912.608 ;  18500 3000 3000 1 1020.69 ;  19000 3000 3000 1 1029.1 ;  19500 3000 3000 1 1035.55 ;  20000 3000 3000 1 1067.72 ;  20500 3000 3000 1 1090.55 ;  21000 3000 3000 1 1114.93 ;  21500 3000 3000 1 1140.4 ;  22000 3000 3000 1 1072.48 ;  22500 3000 3000 1 1170.68 ;  23000 3000 3000 1 1200.1 ;  23500 3000 3000 1 1211.86 ;  24000 3000 3000 1 1247.55 ;  24500 3000 3000 1 1250.26 ;  25000 3000 3000 1 1219.96 ;  25500 3000 3000 1 1292.37 ;  26000 3000 3000 1 1322.32 ; ];
STRASSEN_2_HYBRID24 = [ 16000 3000 3000 2 1101.63 ;  16500 3000 3000 2 1140.51 ;  17000 3000 3000 2 1113.1 ;  17500 3000 3000 2 1174.67 ;  18000 3000 3000 2 1207.9 ;  18500 3000 3000 2 1207.93 ;  19000 3000 3000 2 1253.68 ;  19500 3000 3000 2 1268.36 ;  20000 3000 3000 2 1327.94 ;  20500 3000 3000 2 1360.96 ;  21000 3000 3000 2 1381.81 ;  21500 3000 3000 2 1402.37 ;  22000 3000 3000 2 1421.08 ;  22500 3000 3000 2 1443.73 ;  23000 3000 3000 2 1530.96 ;  23500 3000 3000 2 1583.92 ;  24000 3000 3000 2 1530.47 ;  24500 3000 3000 2 1608.39 ;  25000 3000 3000 2 1624.94 ;  25500 3000 3000 2 1665.57 ;  26000 3000 3000 2 1670.21 ; ];

BINI322_1_HYBRID24 = [ 16000 3000 3000 1 910.621 ;  16500 3000 3000 1 877.876 ;  17000 3000 3000 1 824.509 ;  17500 3000 3000 1 919.47 ;  18000 3000 3000 1 945.625 ;  18500 3000 3000 1 949.179 ;  19000 3000 3000 1 980.403 ;  19500 3000 3000 1 934.381 ;  20000 3000 3000 1 1030.81 ;  20500 3000 3000 1 1044.83 ;  21000 3000 3000 1 1071.72 ;  21500 3000 3000 1 1021.41 ;  22000 3000 3000 1 1159.81 ;  22500 3000 3000 1 1114.86 ;  23000 3000 3000 1 1137.9 ;  23500 3000 3000 1 1075.21 ;  24000 3000 3000 1 1100.52 ;  24500 3000 3000 1 1221.51 ;  25000 3000 3000 1 1164.33 ;  25500 3000 3000 1 1171.12 ;  26000 3000 3000 1 1158.61 ; ];
BINI322_2_HYBRID24 = [ 16000 3000 3000 2 887.027 ;  16500 3000 3000 2 875.363 ;  17000 3000 3000 2 898.664 ;  17500 3000 3000 2 922.952 ;  18000 3000 3000 2 980.961 ;  18500 3000 3000 2 978.484 ;  19000 3000 3000 2 1069.06 ;  19500 3000 3000 2 1006.92 ;  20000 3000 3000 2 1079.7 ;  20500 3000 3000 2 1112.78 ;  21000 3000 3000 2 1118.52 ;  21500 3000 3000 2 1162.82 ;  22000 3000 3000 2 1131.2 ;  22500 3000 3000 2 1176.99 ;  23000 3000 3000 2 1251.97 ;  23500 3000 3000 2 1266.55 ;  24000 3000 3000 2 1284.44 ;  24500 3000 3000 2 1256.99 ;  25000 3000 3000 2 1353.25 ;  25500 3000 3000 2 1356.11 ;  26000 3000 3000 2 1408.78 ; ];

SCHONHAGE333_21_117_APPROX_1_HYBRID24 = [ 16000 3000 3000 1 896.835 ;  16500 3000 3000 1 909.237 ;  17000 3000 3000 1 930.161 ;  17500 3000 3000 1 876.111 ;  18000 3000 3000 1 915.534 ;  18500 3000 3000 1 933.945 ;  19000 3000 3000 1 1027.54 ;  19500 3000 3000 1 995.197 ;  20000 3000 3000 1 1031.08 ;  20500 3000 3000 1 1021.2 ;  21000 3000 3000 1 1041.19 ;  21500 3000 3000 1 1057.45 ;  22000 3000 3000 1 1087.56 ;  22500 3000 3000 1 1112.95 ;  23000 3000 3000 1 1141.92 ;  23500 3000 3000 1 1214.84 ;  24000 3000 3000 1 1195.71 ;  24500 3000 3000 1 1172.11 ;  25000 3000 3000 1 1299.29 ;  25500 3000 3000 1 1249.94 ;  26000 3000 3000 1 1255.3 ; ];
SCHONHAGE333_21_117_APPROX_2_HYBRID24 = [ 16000 3000 3000 2 1006.51 ;  16500 3000 3000 2 1001.76 ;  17000 3000 3000 2 1015.9 ;  17500 3000 3000 2 1027.15 ;  18000 3000 3000 2 1035.84 ;  18500 3000 3000 2 1115.09 ;  19000 3000 3000 2 1132.76 ;  19500 3000 3000 2 1118.8 ;  20000 3000 3000 2 1163.54 ;  20500 3000 3000 2 1229.88 ;  21000 3000 3000 2 1202.28 ;  21500 3000 3000 2 1236.63 ;  22000 3000 3000 2 1270.55 ;  22500 3000 3000 2 1286.82 ;  23000 3000 3000 2 1334.96 ;  23500 3000 3000 2 1361.68 ;  24000 3000 3000 2 1434.37 ;  24500 3000 3000 2 1421.16 ;  25000 3000 3000 2 1417.23 ;  25500 3000 3000 2 1423.28 ;  26000 3000 3000 2 1527.14 ; ];

SMIRNOV433_29_204_1_HYBRID24 = [ 16000 3000 3000 1 1187.81 ;  16500 3000 3000 1 1229.54 ;  17000 3000 3000 1 1262 ;  17500 3000 3000 1 1304.47 ;  18000 3000 3000 1 1333.3 ;  18500 3000 3000 1 1375.95 ;  19000 3000 3000 1 1405.36 ;  19500 3000 3000 1 1448.94 ;  20000 3000 3000 1 1476.94 ; ];
SMIRNOV433_29_204_2_HYBRID24 = [ 16000 3000 3000 2 906.478 ;  16500 3000 3000 2 921.779 ;  17000 3000 3000 2 969.584 ;  17500 3000 3000 2 1032.17 ;  18000 3000 3000 2 1015.45 ;  18500 3000 3000 2 1017.29 ;  19000 3000 3000 2 1082.31 ;  19500 3000 3000 2 1092.29 ;  20000 3000 3000 2 1137.06 ; ];


dims = MKL_0_24(:, 1);
MKL = perf(MKL_0_24) / 24;
FAST424 = perf4(FAST424_26_257_1_HYBRID24, FAST424_26_257_2_HYBRID24, FAST424_26_257_1_DFS24, FAST424_26_257_2_DFS24) / 24;
FAST433 = perf4(FAST433_29_234_1_HYBRID24, FAST433_29_234_2_HYBRID24, FAST433_29_234_1_DFS24, FAST433_29_234_2_DFS24) / 24;
FAST323 = perf4(FAST323_15_103_1_HYBRID24, FAST323_15_103_2_HYBRID24, FAST323_15_103_1_DFS24, FAST323_15_103_2_DFS24) / 24;
FAST522 = perf4(FAST522_18_99_1_HYBRID24,  FAST522_18_99_2_HYBRID24,  FAST522_18_99_1_DFS24,  FAST522_18_99_2_DFS24) / 24;
FAST423 = perf4(FAST423_20_144_1_HYBRID24, FAST423_20_144_2_HYBRID24, FAST423_20_144_1_DFS24, FAST423_20_144_2_DFS24) / 24;
STRASSEN = perf4(STRASSEN_1_HYBRID24, STRASSEN_2_HYBRID24, STRASSEN_1_DFS24, STRASSEN_2_DFS24) / 24;
BINI = perf4(BINI322_1_HYBRID24, BINI322_2_HYBRID24, BINI322_1_DFS24, BINI322_2_DFS24) / 24;
SCHONHAGE = perf4(SCHONHAGE333_21_117_APPROX_1_HYBRID24, SCHONHAGE333_21_117_APPROX_2_DFS24, SCHONHAGE333_21_117_APPROX_1_HYBRID24, SCHONHAGE333_21_117_APPROX_2_DFS24) / 24;
SMIRNOV433 = perf4(SMIRNOV433_29_204_1_HYBRID24, SMIRNOV433_29_204_2_HYBRID24, SMIRNOV433_29_204_1_DFS24, SMIRNOV433_29_204_1_DFS24) / 24;

close all;

lw = 2;      % LineWidth
msz = 12;       % MarkerSize
out_dir = 'fast-matmul_paper_figs';

width = 9; height = 5;
make_plot_pre(width, height);
 
plot(dims, MKL,  'black*-', ...
     dims, FAST424, 'gp--', ...
     dims, FAST433, 'bo--', ...
     dims, FAST323, 'cs--', ...
     dims, FAST423, 'yx--', ...
     dims, SMIRNOV433, 'mv--', ...
     dims, STRASSEN, 'r^--', ...
     ...%dims, BINI, 'mv--', ...
     ...%dims, SCHONHAGE, 'k+--', ...
     'LineWidth', lw, 'MarkerSize', msz);
  legend('MKL', '<4,2,4>', '<4,3,3>', '<3,2,3>', ...
     '<4,2,3>', 'S<4,3,3>', 'STRASSEN', 'Location', 'EastOutside');
 
  ylim([12, 18]);
  curtick = [16000, 18000, 20000, 22000, 24000, 26000];
  set(gca, 'XTickLabel', cellstr(num2str(curtick(:))));
 
title('Performance (24 cores) on N x 3000 x 3000');
xlabel('dimension (N)');
ylabel('Effective GFLOPS / core');

out_file = 'edison_tssquare_par24';
make_plot_post(width, height, out_dir, out_file);
